package com.henan.caigou.util;

import net.sourceforge.tess4j.*;
import org.springframework.stereotype.Component;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;

@Component
public class TesseractOcrUtil {

    private final ITesseract tesseract;

    public TesseractOcrUtil() {
        this.tesseract = new Tesseract();

        // 设置训练数据路径（根据实际位置修改）
        String tessDataPath = "D:/Tesseract-OCR/tessdata";
        // 或使用相对路径（推荐开发环境）：
        // String tessDataPath = "src/main/resources/tessdata";

        tesseract.setDatapath(tessDataPath);
        tesseract.setLanguage("eng"); // 英文
    }

    /**
     * 识别图片中的文字
     * @param imageFile 图片文件
     * @return 识别结果
     */
    public String doOCR(File imageFile) throws TesseractException {
        return tesseract.doOCR(imageFile);
    }

    /**
     * 识别BufferedImage中的文字
     */
    public String doOCR(BufferedImage image) throws TesseractException {
        return tesseract.doOCR(image);
    }
}